<?php
/* * 
 * 功能：支付宝页面跳转同步通知页面
 * 版本：3.2
 * 日期：2011-03-25
 * 说明：
 * 以下代码只是为了方便商户测试而提供的样例代码，商户可以根据自己网站的需要，按照技术文档编写,并非一定要使用该代码。
 * 该代码仅供学习和研究支付宝接口使用，只是提供一个参考。

 *************************页面功能说明*************************
 * 该页面可在本机电脑测试
 * 可放入HTML等美化页面的代码、商户业务逻辑程序代码
 * 该页面可以使用PHP开发工具调试，也可以使用写文本函数logResult，该函数已被默认关闭，见alipay_notify_class.php中的函数verifyReturn
 
 * WAIT_SELLER_SEND_GOODS(表示买家已在支付宝交易管理中产生了交易记录且付款成功，但卖家没有发货);
 */
require_once($_SERVER['DOCUMENT_ROOT'] . '/all.conf.php');
require_once(__PHY_LIB.'/inc/api.inc.php');
require_once(__PHY_LIB.'/class/FnOrder.class.php');

require_once("alipay.config.php");
require_once("lib/alipay_notify.class.php");
?>
<!DOCTYPE HTML>
<html>
	<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?php
//计算得出通知验证结果
$alipayNotify = new AlipayNotify($aliapy_config);
$verify_result = $alipayNotify->verifyReturn();
if($verify_result) {//验证成功
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	//请在这里加上商户的业务逻辑程序代码
	
	//——请根据您的业务逻辑来编写程序（以下代码仅作参考）——
	//获取支付宝的通知返回参数，可参考技术文档中页面跳转同步通知参数列表
	$out_trade_no	= $_GET['out_trade_no'];	//获取订单号
	$trade_no		= $_GET['trade_no'];		//获取支付宝交易号
	$total_fee		= $_GET['price'];			//获取总价格

	if($_GET['trade_status'] == 'WAIT_SELLER_SEND_GOODS') {
		/// 加入代码
		 // 如果订单状态为未付款，则成功，
		 //;
		$oOrder = new Order($out_trade_no);
		if (0 < $oOrder->getID() && 'prepaid' == $oOrder->get('status')) {
			header("Location: /buy/confirm.php?order={$out_trade_no}"); exit();
		}
		else {
			echo 'Please wait until We know you have prepaid for this order, id='.$out_trade_no.'. <a href="?out_trade_no='.$out_trade_no.'">refresh</a>';
		}
	}
	else {
		echo '状态有误。';
	}
	
	//——请根据您的业务逻辑来编写程序（以上代码仅作参考）——
	
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}
else {
	//验证失败
	//如要调试，请看alipay_notify.php页面的verifyReturn函数，比对sign和mysign的值是否相等，或者检查$responseTxt有没有返回true
	echo "验证失败";
}
?>
		<title>支付宝担保交易</title>
	</head>
	<body>
	</body>
</html>
